/*
                    Imagebox Class Definition
*/

#ifndef IMAGEBOX_H
#define IMAGEBOX_H

#include "SDL/SDL.h"
#include "SDL/SDL_image.h"
#include <string>

#include "../Structs.h"
#include "../Functions.h"
#include "Widget.h"

using namespace std;

class Imagebox : public Widget
{
      public:
             Imagebox();
             ~Imagebox();

             int Initialise(string strFilepath, Point NewPosition);

             void setImage(string strFilepath);
             void setImage(SDL_Surface *NewImage);
             SDL_Surface* getImage();

             void setPosition(Point NewPosition);
             void setPosition(double nx, double ny);
             Point getPosition();

             int MoveRelative(double nx, double ny);

             int BlitToSurface(SDL_Surface *screen);

             int BlitToFrame(SDL_Surface *surface, Point FramePosition);

      private:
              Point Position;

              SDL_Surface *Image;
};

#endif
